BACnet object property
BACnet objects are defined by their BACnet properties.
All BACnet objects have at least the "Object identifier", "Object name" and "Object type" properties. The BACnet standard divides properties into two classes: required and optional. The implementation of the DINGO-Stack contains a third class: proprietary properties. These are properties added by Go-IoT for specific purposes.
There are two ways of looking at, or editing properties. The first is to find and select the property in the navigation tree. The other is to select the BACnet object and use the edit button inside the Properties in object data-grid.
The editing of BACnet properties is divided into three sections. One that shows read-only information about the property, one that does port-binding and one concerning the value of the property.
Database ID:This is the identifier that the BACnet property has been automatically assigned by the database on the DINGO device. It can be useful in advanced troubleshooting situations. If the identifier is negative, it means that the BACnet property has not yet been saved to the DINGO device.
Property type name: This is the name of the property type. It is possible to get more information about the property type, by clicking on the Property type details... button.
The details of the property type is predefined by the BACnet standard and Go-IoT, and can not be edited.
Object type: This is the type of object, that this property type belongs to.
Property type: This is the name of the property type.
Property access: This determines if the property type is required, optional, proprietary or not supported. It also determines if its access is none, read, write or read-and-write.
Property is: This determines if the property type allows empty values or not.
Data type: This is the type of the data, that the value of this property type contains. It can be primitive types like integer or string. It can also be complex structures defined by the BACnet standard or Go-IoT. The fields that follow give more information about the data type.
Tag name: Gives more information about the data type. The DINGO-Manager uses this information to render a control for the value of the property.
Tag structure: Determines if the data type is a single value, array or list. This information is used by the DINGO-Manager to render a control for the value of the property.
List request type: No information available about this property.
Description: Provides a description of the property type.
Managed internally: Determines how this property type is managed internally. The possibilities are "Read and write on database only", "Read from hardware", "Write to hardware", "Read and write on hardware", "Not implemented" and "To be set".
Default value: Determines the default value, to the value of the property.
Port connect: Determines if port binding is available for this property.
Data type: This is the type of the data, that the value of this property contains.
Property is: Determines if the property is required, optional or proprietary.
The reason these properties are read only, is that they are predefined by the BACnet standard and Go-IoT.
The BACnet properties can be bound to ports within the peripheral setup. It is through this binding that BACnet properties are linked to real-life sensor, actuators and others.
The user can click the Reset button to remove any link between the BACnet property and a port.
To bind the BACnet property to a port, the user needs to click the Find button, and search for a port within the peripheral setup, that the BACnet device is connected to.
This section contains the control that the DINGO-Manager, and its user, utilizes to display or edit the value of the property. The control varies in its presentation, depending on the data type of the property.
The controls can also be read-only, as specified by the BACnet standard and Go-IoT.
There are many other controls and data types.
Above the value-control is a toolbar with options regarding the BACnet server. These options only function, if the BACnet server is running, and the BACnet object and property is enabled within the server.
Clicking Load value will load the current value of the property, from the BACnet server, and insert it into the value-control.
Clicking Save value will save the value that is inside the value-control instantly to the BACnet server.